package com.sc.nft.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.ActivityCoupons;
import com.sc.nft.entity.dto.ActivityBatchIssueCouponsDTO;
import com.sc.nft.entity.dto.ActivityCouponsDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 优惠券活动(Mapper)
 *
 * @author liGen
 * @version 1.0
 * @date 2023/12/5 4:22 下午
 */
public interface ActivityCouponsMapper extends BaseMapper<ActivityCoupons> {

    /**
     * 获取优惠券列表
     *
     * @param page
     * @param title
     * @param status
     * @return
     */
    Page<ActivityCouponsDTO> getAdminPageActivityCouponsDTO(Page page, @Param("title") String title, @Param("status") String status);

    /**
     * 获取用户端优惠券列表
     *
     * @param page
     * @return
     */
    Page<ActivityCouponsDTO> getMallPageActivityCouponsDTO(Page page, @Param("productId") Long productId);

    /**
     * 获取用户端优惠券列表
     *
     * @param page
     * @return
     */
    Page<ActivityCouponsDTO> getMallMemberActivityCouponsDTO(Page page, @Param("ids") List<Long> ids);

    /**
     * 批量空投优惠券选择优惠券列表
     * @param page
     * @param title
     * @return
     */
    Page<ActivityBatchIssueCouponsDTO> batchIssuePage(Page page, @Param("title") String title);
}
